﻿/*
倒置排序 
Time Limit:1000MS  Memory Limit:32768K


Description:
将一些整数按倒置值排序后输出. 所谓倒置,是指把整数各位倒过来构成一个新数,例如:13倒置成了31.

Input:
第一行的整数N表示后面列出的组数。每组数的第一个整数n表示后面将有n个整数。（每组数据量不超80） 
Output:
将每组数按倒置值进行排序输出.其每组数的结果占一行. 
Sample Input:
2
4 83 13 24 36
4 99 100 123 12345
Sample Output:
13 83 24 36
100 99 123 12345

*/

#include <stdio.h>
#include <stdlib.h>
#define MAX_ELEMS 128
int reverse(int a)
{
	int s=0;
	while(a)
	{
		s=s*10+a%10;
		a/=10;
	}
	return s;
}

int compare(const void* pa, const void *pb)
{
	int a=*(int *)pa, b=*(int *)pb;
	return reverse(a)-reverse(b);

}
int main(int argc, char* argv[])
{
	int n;
	int a[MAX_ELEMS]={0};
	scanf("%d", &n);

	while(n--)
	{
		int i, m;
		scanf("%d", &m);
		for(i=0; i<m; ++i)
			scanf("%d", a+i);
		qsort(a, m, sizeof(int), compare);
		for(i=0; i<m-1; ++i)
			printf("%d ", a[i]);

		printf("%d\n", a[i]);
	}


	return 0;
}